<?php

namespace app\common\model\merchant;


use app\common\model\BaseModel;

/**
 * 商店充值流水表
 * Class DemoMerchantMoneyLog
 * @package app\demo\model
 */
class MerchantMoneyLogModel extends BaseModel
{
    //
    public string $fieldId = 'id';

    //
    public string $fieldMerId = 'mer_id';
    // 商户ID
    public string $fieldType = 'type';
    // 变动类型 1:增加   2:减少
    public string $fieldMoney = 'money';
    // 变动金额
    public string $fieldReMoney = 're_money';
    // 变动后金额
    public string $fieldPayOrder = 'pay_order';
    // 支付单号
    public string $fieldOpUser = 'op_user';
    // 操作人
    public string $fieldCreateAt = 'create_at';
    // 创建时间
    public string $fieldMemo = 'memo';
    // 备注
    protected $name = 'merchant_money_log';

    // 设置字段信息
    protected $schema = [
        'id' => 'int',        //
        'mer_id' => 'string',        // 商户ID
        'type' => 'int',        // 变动类型 1:增加   2:减少
        'money' => 'float',        // 变动金额
        're_money' => 'float',        // 变动后金额
        'pay_order' => 'string',        // 支付单号
        'op_user' => 'int',        // 操作人
        'create_at' => 'datetime',        // 创建时间
        'memo' => 'string',        // 备注
    ];

    /**
     * 获取列表
     * @param array $option
     * @return mixed
     * @throws \think\db\exception\DbException
     */
    public function pageList(array $option)
    {
        return $this->db()->where($option['where'])->order($option['order'] ?? 'id desc')->paginate($option['page_size']);
    }

    /**
     * 查看记录
     * @param $where
     * @param $page_size
     * @return mixed
     * @throws \think\db\exception\DbException
     */
    public function pages($where, $page , $page_size)
    {

        return $this->db()
            ->where($where ?? [])
            ->order('create_at desc')
            ->field('id,money,re_money,memo,type,reason,create_at')
            ->paginate(['page' => $page ?: 1, 'list_rows' => $page_size ?: 15]);
    }

}
